Server client system for automatically setting port number

ABSTRACT

All port numbers are set at a server, whereas only one port number is set at a client. The client searches for the server by using the set port number. The server responds to searching by the client and notifies the client of the other port number that is not set at the client. The client establishes the communication with the server by using the notified port number. This makes it unnecessary to set all port numbers at the client. It is therefore possible to provide a server client system with time for setting a port number decreased.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a server client system and, morespecifically, to an improvement of a port setting in a network audiosystem operating in a server client environment.

2. Description of the Related Art

At the present day, a network audio system operating in a server clientenvironment has been provided. The network audio system is provided witha content server for storing musical contents and audio clients forreproducing the music. The content server and the audio clientscommunicate with each other in accordance with a specific communicationprotocol.

For example, in the case of adopting TCP/IP (Transmission ControlProtocol/Internet Protocol) as a communication protocol, each of thecontent server and the audio clients is provided with a unique IPaddress in a network. The content server and the audio clients identifyeach other due to the IP address. In addition, the content server andthe audio clients have a plurality of ports for transmitting andreceiving the data. The TCP/IP allocates port numbers of 0 to 65535 tothese ports.

When the audio client requests something to the content server, theaudio client specifies the IP address and the port number of the contentserver to transmit the data to the specified content server through thespecified port. On the contrary, when the content server responds to therequest of the audio client, the content server specifies the IP addressand the port number of the audio client to transmit the data to thespecified audio client through the specified port.

In order to allow the above-described data transmission and reception,normally, one port is enough between the content server and the audioclients; however, depending on an application program, sometimes aplurality of ports must be saved. In this case, a user needs to set aplurality of port numbers not only for the content server but also foreach audio client. However, it is a very troublesome task to set aplurality of port numbers for each of many audio clients existing on anetwork and this may result in a high probability of setting a falseport number.

In addition, for the reason such as version upgrade of the applicationprogram or the like, the port numbers to be used sometime must bealtered. Also in this case, as the above, it is very troublesome toalter the port numbers set in each audio client.

In addition, when the other application program other than an originalapplication program is installed in the content server, the otherapplication program sometime uses a port number to be used by theoriginal application program. Also in this case, it is very troublesometo alter the port numbers set in each audio client.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a server client systemcapable of decreasing trouble of setting a port number.

A server client system according to an aspect of the present inventioncomprises a server and a client connected to the server. The serverincludes a port number transmitter transmitting, on a first pot number,a second port number to the client. The client includes a communicatorcommunicating with the server on the second port number transmitted fromthe server.

According to the server client system, since the second port number isnotified from the server to the client by using the first port number,the second port number does not need to be set in the client. As aresult, a trouble of setting a port number or the like can be decreased.

Preferably, the port number transmitter transmits identificationinformation having a first value or a second value to the client. Thecommunicator communicates with the server on the second port number whenthe identification information transmitted from the server has the firstvalue, and the communicator communicates with the server on a third portnumber when the identification information has the second value.

In this case, when the identification information has the first value,the client uses the second port number is notified from the serverthereto. However, when the identification information has the secondvalue, the client uses the third port number that is predetermined.Accordingly, in the case of a server of an old version having nofunction according to the present invention, the client is capable ofusing the third port number the same as before. Therefore the presentsystem has an upward compatibility.

A server client system according to another aspect of the presentinvention comprises a server and a client connected to the server. Theserver includes a waiter waiting for the communication from the clienton the port number being used at the present and the port number used inthe past. The client includes a communicator communicating with theserver on the port number stored in port number storage. The serverfurther includes a transmitter transmitting the port number being usedat the present to the client when receiving the communication from theclient. The client further includes a rewriter rewriting the port numberstored in the port number storage into the port number transmitted fromthe server.

According to the server client system, since the server waits for thecommunication from the client by using not only the port number that isbeing used at the present but also the port number that was used in thepast, even the client, which only knows the old port number used in thepast but does not know the changed port number, can communicate with theserver. Furthermore, since a new port number being used at the presentis notified from the server to the client and the port number stored inthe client is rewritten, next time, the client can communicate with theserver by using the new port number. As a result, also in this case, atrouble of setting a port number or the like can be decreased.

A server client system according to still another aspect of the presentinvention comprises a server and a client connected to the server. Theserver includes a waiter selecting a port number available among aplurality of port numbers and waiting for the communication from theclient on the selected port number. The client includes a communicatorselecting a port number to be used among the plurality of port numbersand communicating with the server on the selected port number. Theserver further includes a responder responding to the client whenreceiving the communication from the client. The client further includesa changer changing the port number to be used when receiving no responsefrom the server.

According to this server client system, since the server waits for thecommunication from the client by using the port number that is capableof being used from among the plurality of port numbers, while the clientcommunicates with the server by using the plurality of port numbers byrotation, even when the other application programs have already usedsome of the plurality of port numbers, the client can certainlycommunicate with the server. As a result, also in this case, a troubleof setting a port number or the like can be decreased.

A server client system according to yet another aspect of the presentinvention comprises a server in which a server application program forproviding a predetermined service is installed and a client connected tothe server and in which a client application program for providing theservice is installed. The server client system further comprises aguidance master application program and a guidance server applicationprogram for managing the setting information regarding the service andan update date and time of the setting information. The guidance masterapplication program includes the step of inquiring the settinginformation and the update date and time of the guidance serverapplication program. The client application program includes the step ofinquiring the setting information and the update date and time of theguidance server application program. The guidance server applicationprogram includes the step of informing the setting information and theupdate date and time in response to the inquiry. The guidance masterapplication program further includes the step of comparing the informedupdate date and time with the update date and time managed by theguidance master application program, and updating the settinginformation managed by the guidance server application program with thesetting information managed by the guidance master application programwhen the informed update date and time are older than the update dateand time managed by the guidance master application program. The clientapplication program further includes the step of comparing the informedupdate date and time with the update date and time managed by the clientapplication program, and updating the setting information managed by theclient application program with the informed setting information whenthe informed update date and time are newer than the update date andtime managed by the client application program.

According to the server client system, the guidance master applicationprogram inquires the setting information and the update date and time ofthe guidance server application program. If the update date and time ofthe guidance server application program is older than the update dateand time of the guidance master application program, the settinginformation of the guidance server application program is rewritten bythe setting information of the guidance master application program. Inaddition, the client application program inquires the settinginformation and its update date and time of the guidance serverapplication program. If the update date and time of the guidance serverapplication program is newer than the update date and time of the clientapplication program, the setting information of the client applicationprogram is rewritten by the setting information of the guidance serverapplication program. Accordingly, the newest setting information in theguidance master application program is uploaded in the guidance serverapplication program to be downloaded in the client application program.As a result, a trouble of setting a port number or the like can bedecreased.

Preferably, the setting information includes a port number. The guidanceserver application program is installed in the client.

When the client is a machine only for reproducing the contents, evenusing a predetermined port number, competition of the port number willnot occur in the guidance server application program.

More preferably, the server client system includes a plurality of theclients.

In this case, when at least one client is running, the guidance masterapplication program may upload the port number in the guidance serverapplication program, so that the client application program is capableof downloading the port number.

The foregoing and other objects, features, aspects and advantages of thepresent invention will become more apparent from the following detaileddescription of the present invention when taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram showing an entire structure of anetwork audio system according to an embodiment of the presentinvention;

FIG. 2 is a functional block diagram showing a structure of a contentserver shown in FIG. 1;

FIG. 3 is a functional block diagram showing a structure of the audioclient shown in FIG. 1;

FIG. 4 is a flowchart showing the operation of a network audio systemaccording to a first embodiment of the present invention;

FIG. 5 is a flowchart showing the operation of a network audio systemaccording to a second embodiment of the present invention;

FIG. 6 is a flowchart showing the operation of a network audio systemaccording to a third embodiment of the present invention;

FIG. 7 is a flowchart showing the detail of a searching waitingprocessing by the content server shown in FIG. 6;

FIG. 8 is a flowchart showing the detail of a searching processing bythe audio client shown in FIG. 6;

FIG. 9 is a functional block diagram showing an application structure ofa content server according to a fourth embodiment of the presentinvention;

FIG. 10 is a functional block diagram showing an application structureof an audio client according to the fourth embodiment of the presentinvention;

FIG. 11 is a functional block diagram showing the upload operation for aport number or the like according to the fourth embodiment of thepresent invention;

FIG. 12 is a functional block diagram showing the download operation fora port number or the like according to the fourth embodiment of thepresent invention;

FIG. 13 is a flowchart showing the upload operation and the downloadoperation shown in FIGS. 11 and 12; and

FIG. 14 is a functional block diagram showing a modification of thefourth embodiment shown in FIGS. 9 to 13.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to the drawings, embodiments according to the presentinvention will be described in detail below. It is noted that the samereference numerals are applied to the same or similar parts and elementsthroughout the drawings, and the description of the same or similarparts and elements will not be repeated.

First Embodiment

With reference to FIG. 1, a network audio system 10 according to a firstembodiment of the present invention includes a content server SV and aplurality of audio clients CL. The content server SV and the audioclient CL are connected with each other by a LAN (Local Area Network)12. The content server SV stores a great number of musical contents anddistributes them to each of the audio clients CL. Each audio client CLreproduces the music on the basis of the musical content beingdistributed from the content server SV.

According to the example shown in FIG. 1, a plurality of audio clientsCL exist; however, at least one audio client CL may be enough. Althoughonly one content server SV exists in FIG. 1, a plurality of contentservers SV may exist. In addition, the LAN 12 is employed as a computernetwork; however, the computer network is not limited thereto and, forexample, USB and IEEE 1394 or the like may be employed. In the case ofemploying LAN, it is preferable to employ TCP/IP that is standard in aPC (Personal Computer) as a communication protocol; however, thecommunication protocol is not limited thereto and, for example, UDP(User Datagram Protocol) or the like may be employed. In addition, inFIG. 1, the content server SV and the audio clients CL are connectedwith each other so as to branch from a backbone wire of the LAN 12;however, for example, in the case of 10BASE-T and 100BASE-TX, they maybe connected in a star around a hub.

With reference to FIG. 2, the content server SV includes an HDD (HardDisk Drive) 14 for storing compression digital musical data, a CPUprocessor 20 including a data base managing unit 16 and a networkprotocol processing unit 18, and a LAN controller 22 for transmittingand receiving the data between the content server SV and the LAN 12.

With reference to FIG. 3, each audio client CL includes a microcomputerprocessor unit 28 including a network protocol processing unit 24 and asystem operating unit 26, a flush memory 30 being a typical example of anonvolatile semiconductor memory device, a memory 32 for temporarilystoring the compression digital musical data or the like that aresequentially inputted and sequentially outputting them, a voiceprocessing unit 34 for decoding the compression digital musical data andgenerating non-compression digital musical data, a D/A converter (DAC)36 for converting the digital musical data into the analog musical data,and a LAN controller 38 for transmitting and receiving the data betweenthis audio client CL and the LAN 12.

Next, the operation of the network audio system 10 that is constructedas described above will be described below.

In order to allow a sequence of operation such that the audio client CLrequests a desired musical content for the content server SV, thecontent server SV distributes the requested musical content to the audioclient CL, and the audio client CL reproduces the music on the basis ofthe distributed musical content, at first, the connection between thecontent server SV and each audio client CL must be established.According to the present embodiment, two connections may be establishedon a command port and a push port. The command port is a port allowingthe audio client CL to transmit the request to the content server SV andallowing the content server SV to return the response to the request tothe audio client CL. The push port is a port for allowing the contentserver SV to transmit a spontaneous request to the audio client CL.

The audio client CL searches for the content server SV connected to theLAN 12 before establishing the connection to the content server SV. Thisoperation from the searching to the connection will be described withreference to the flowchart shown in FIG. 4 below.

In the content server SV, the user sets all of plural port numbers to beused (S101). The port number and the number of them to be set are notlimited; however, according to the present embodiment, it is assumedthat, as a port number for the command port, “60000” is set, and as aport number for the push port, “40000” is set, respectively. In the casethat the user does not set the port number for the push port, it isassumed that “60001” is set as a port number for the push port in thedefault mode.

On the other hand, at each audio client CL, the user sets only one portnumber from among a plurality of port numbers set in the server SV forsearching (S201). According to the present embodiment, the port number“60000” for the command port is only set for searching and the portnumber for the push port is not set.

When the above-described initial setting is finished, the audio clientCL creates a searching packet including a magic word and broadcasts thesearching packet on the LAN 12 by using the above-described port numberset for searching (S202). According to the present embodiment, forexample, in accordance with UDP, the port number “60000” for the commandport is used for searching to broadcast the magic word. The magic wordis the arbitrary information to be set in a specific server and clientin advance, respectively, in order to allow the communication betweenthe specific server and client. After broadcasting the magic word on theport number for searching in this way, the audio client CL will wait fora response from the content server SV on the same port number forsearching (S203).

On the other hand, since the content server SV is waiting for thesearching from each audio client CL on the port number for searching,the content server SV receives the broadcasted searching packet on thisport number for searching. Then, the content server SV verifies themagic word included in the received searching packet and responds to theaudio client CL that broadcasted the searching packet(S102). Morespecifically, the content server SV compares the received magic wordwith the magic word that has been set in advance and, then, when theycorrespond with each other, the content server SV responds to the audioclient CL, and when they do not correspond with each other, the contentserver SV does not respond to the audio client CL. In the case ofresponding, the content server SV returns a predetermined searchingresponse packet to the audio client CL, for example, in accordance withthe UDP.

The content server SV conventionally transmits the searching responsepacket of an old format shown in a table 1; however, according to thepresent embodiment, the content server SV transmits the searchingresponse packet of a new format shown in a table 2.

TABLE 1 Old Format  4 bytes Magic word 64 bytes Server name  4 bytesMaximum client number  4 bytes Vendor ID 52 bytes Reserve

TABLE 2 New Format  4 bytes Magic word 64 bytes Server name  4 bytesMaximum client number  4 bytes Vendor ID  2 bytes Property ID  2 bytesPort number 48 bytes Reserve

The searching response packet shown in Table 1 includes a magic word, aserver name, the maximum client number, a vendor ID and a reserve. Thismagic word is same as the magic word that has been transmitted from theaudio client CL. The server name is a name that is arbitrarily providedto the content server SV. The maximum client number is the number of theaudio clients capable of being connected to the content server SV. Thevendor ID is the identification information for specifying the vendor ofthe content server SV. The reserve is an area in reserve that is securedfor a future extension.

On the contrary, the searching response packet of the new format shownin Table 2 further includes an property ID and a port number. Theproperty ID and the port number will be set by using the reserve in theold format.

The property ID is identification information for specifying if apredetermined default port number is used or a port number recorded inthe next area is used. The property ID is not limited particularly;however, according to the present embodiment, it is assumed that theproperty ID takes two values: “0x0000” and “1x0001”. The other valuesare reserved for the future extension. The port number can bearbitrarily set by the user in the above-described step S101. In thecase of using a default port number for the push port (in the presentembodiment, “60001”), the user does not particularly set the portnumber. On the other hand, in the case of using a specific port numberfor the push port (in the present embodiment, “40000”), the user setsthe port number.

Receiving the above-described searching response packet, the audioclient CL reads the property ID from this searching response packet(S204) to determined whether this property ID is “0x0000” or “0x0001”(S205). In the case that the property ID is “0x0000”, the audio clientCL sets the push port to the default port number “60001” (S206). On theother hand, in the case that the property ID is “0x0000”, the audioclient CL sets the push port to the port number “40000” that has beenrecorded in the next area (S207).

Subsequently, by using the port number “60000” for the command port thathas been set in advance in step S201, for example, in accordance withTCP, the audio client CL requests the connection to the content serverSV (S208). The content server SV receives this connection request and,then, the content server SV responds to the audio client CL (S103).Hereby, on the command port (the port number “60000”), the connection isestablished.

In addition, by using the port number “60001” or “40000” for the pushport that has been set in step S206 or S207, the audio client CLrequests the connection to the content server SV (S208). When thecontent server SV receives this connection request, the content serverSV responds to the audio client CL (S103). Hereby, on the push port (onthe port number “60001” or “40000”), the connection is established. Morespecifically, in the case that the property ID is “0x0000”, theconnection is established on the default port number “60001”. On theother hand, in the case that the property ID is “0x0001”, the connectionis established on the port number “40000” that is notified from thecontent server SV.

A server application program for allowing the content server SV to carryout steps S101 to S103 described above is installed in the contentserver SV. In addition, a client application program for allowing theaudio client CL to carry out steps S201 to S208 described above isinstalled in the audio client CL.

As described above, according to the first embodiment, the contentserver SV notifies the port number for the push port to the audio clientCL and the audio client CL requests the connection for the contentserver SV by using the notified port number, so that when the user onlysets the port number for the command port to the audio client CL withoutsetting the port number for the push port, the content server SV and theaudio client CL can establish the connection on the push port.Accordingly, it is possible to decrease the trouble to set the portnumber for the push port to each audio client CL. In addition, even ifthe other application program installed in the content server SV hasalready used the default port number “60001” for the push port, only bysetting the other port number “40000” at the content server SV side, itis possible to establish the connection on the push port.

In addition, when the content server SV transmits the property ID to theaudio client CL and the property ID is “0x0000”, the audio client CLsets the push port to the default port number “60001”. Accordingly,assumed that only the application program of the old version isinstalled in the content server SV, the audio client CL recognizes twobytes (a portion corresponding to the property ID of the new format)from the starting of the reserve area of the old format shown in Table1, so that the audio client CL recognizes “0x0000” (the reserve area isset to “0x0000”), and this makes possible to set the push port to thedefault port number “60001”. Therefore, this application program has anupward compatibility. In addition, granted that the property ID is notset, “0x0000” of the reserve area of the old format (a portioncorresponding to the port number of the new format) is erroneouslydetermined to be a port number; however, when the property ID (or thereserve area corresponding to the property ID) is determined to be“0x0000”, by setting the default port number, it is possible to preventthe value of the reserve area of the old format from being set to theport number erroneously.

According to the above-described embodiment, two port numbers are set inthe content server SV; however, three or more port numbers may be set.Also in the case of setting three or more port numbers, only one of themis also set in the audio client CL and, by using the first port number,the remaining plural port numbers may be notified from the contentserver SV to the audio client CL.

Second Embodiment

According to the first embodiment, only one port number for searching isset. However, the port number for searching is sometime changed inaccordance with the specification change of the present system. In thiscase, when the port number for searching is only changed at the contentserver SV side and the port number for searching is not changed at theaudio client CL side, the audio client CL will fail to search thecontent server SV. Accordingly, it is needed to change the port numberfor searching also at the audio client CL side; however, such changingoperation is not preferable because it is troublesome for the user.

In order to solve such a problem, according to the second embodiment, aplurality of port numbers are set at the content server SV side inadvance so that the audio client CL will automatically update the portnumber for searching. This detail will be described with reference tothe flowchart shown in FIG. 5 below.

With reference to a changing history table of searching port number, thecontent server SV waits for the searching from the audio client on theall plural port numbers for searching existing in the table (S111). Inthe changing history table of searching port number, as shown in Table3, a plurality of port numbers for searching and the number of them areincluded. These are not limited particularly; however, according to thepresent embodiment, it is assumed that five port numbers for searching“45000”, “50000”, “44450”, “44490” and “45080” are used. In addition,assumed that the network audio system 10 used the port numbers forsearching “45000”, “50000”, “44450” and “44490” in the past and thenewest port number for searching “45080” is used at the present.

TABLE 3 Changing history table of searching port number Number of portnumber (=5) Port number 0 (=45000) Port number 1 (=50000) Port number 2(=44450) Port number 3 (=44490) Port number 4 (=45080)

On the other hand, the audio client CL reads out the port number forsearching that has been stored in a flush memory 30 (S211).Subsequently, the audio client CL creates a searching packet including amagic word and broadcasts the searching packet by using theabove-mentioned read port number for searching (S202). For example,supposing that a third old port number for searching “44450” among theabove-mentioned five port numbers for searching is stored in the flushmemory 30, the audio client CL broadcasts the magic word by using theport number for searching “44450”. After that, the audio client CL waitsfor the response from the content server SV on the port number forsearching “44450” (S203).

Since the content server SV is waiting for the five port numbersincluding the port number “44450” as described above, it receives thesearching packet broadcasted from the audio client CL on the port number“44450”. The content server SV verifies the magic word included in thereceived searching packet, then, when the magic word is correct, thecontent server creates the searching response packet including thenewest port number for searching and the port numbers for connection andsends back the searching response packet to the audio client CL by usingthe same port number “44450” (S112). According to the presentembodiment, the newest port number for searching is “45080”, so that thecontent server SV transmits the newest port number for searching“45080”, the port numbers for connection “45080”, “45081” and “45082” tothe audio client CL. These port numbers for connection are set in thecontent server SV in advance. According to the present embodiment, thesame port number “45080” is transmitted for searching and forconnection; however, the different port numbers may be transmitted.

Subsequently, the audio client CL receives the searching response packetthat is returned from the content server SV by using the port number forsearching “44450” and reads the newest port number for searching and theport numbers for connection from the searching response packet (S212).

Then, the audio client CL compares the read newest port number forsearching with the port number for searching that has been stored in theflush memory 30 and, when these are the different port numbers, theaudio client CL rewrites the latter port number for searching into thenewest one (S213). In other words, on the port number for searching thatis read from the searching response packet, the flush memory 30 isoverwritten. According to the present embodiment, the port number forsearching that has been stored in the flush memory 30 is updated from“44450” into “45080”. Accordingly, when the audio client CL searches forthe content server SV in the next time, by using the newest port numberfor searching “45080”, the audio client CL broadcasts the magic word.

Hereinafter, as same as the first embodiment, the content server SV andthe audio client CL establish the connection on each of port numbers forconnection (S208, S103).

As described above, according to the second embodiment, since thecontent server SV waits for the communication on a plurality of portnumbers for searching including the port number for searching being usedat the present and the port number for searching used in the past, eventhe audio client CL only knowing the old port number for searching iscapable of searching the content server SV. In addition, since thecontent server SV notifies the newest port number for searching to theaudio client CL to update the port number for searching that is set inthe audio client CL, audio client CL can use the newest port number forsearching when the audio client CL searches the content server SV again.

Third Embodiment

According to the first embodiment, the port number after the first oneis capable of being set arbitrarily only at the content server SV side;however, the same first port numbers must be set at the both of thecontent server SV side and the audio client CL side. Accordingly, whenthe other application programs installed in the content server SV usethe first port number in advance, the port number must be changed at theboth of the content server SV side and the audio client CL side.

In addition, according to the second embodiment, even the audio clientCL only knowing the old port number for searching is capable ofsearching the content server SV; however, when other applicationprograms installed in the content server SV use the old port number forsearching in advance, the audio client CL cannot search for the contentserver SV. Accordingly, also in this case, the port number for searchingmust be changed at the both of the content server SV side and the audioclient CL side.

In order to solve such a problem, according to a third embodiment, theaudio client CL changes the port number for searching port sequentiallyand automatically. With reference to the flowchart shown in FIG. 6, thisdetail will be described below.

With reference to a searching port number table, the content server SVwaits for the searching from the audio client CL on one port number forsearching capable of being used among a plurality of port numbers forsearching existing in the table (S121). As shown in Table 4, thesearching port number table includes a plurality of port numbers forsearching and the number of them. These are not limited particularly;however, according to the present embodiment, it is assumed that threeport numbers for searching, namely, “45080”, “46000” and “46080” areused. The searching port number table exists not only at the contentserver SV side but also at the audio client CL side.

TABLE 4 Table of searching port number Number of port number (=3) Portnumber 0 (=45080) Port number 1 (=46000) Port number 2 (=46080)

With reference to the flowchart shown in FIG. 7, the detail of thisprocessing (S121) will be described below.

The content server SV reads the number of the port numbers from thesearching port number table (S1211). According to the example shown inTable 4, the content server SV reads the number of the port number “3”.

Subsequently, the content server SV resets a reading counter to “0”(S1212). The reading counter indicates the port number for searching tobe read from the searching port number table.

Next, the content server SV compares the value of the reading counterwith the above read number of the port numbers(S1213). If the value ofthe reading counter is equal to the number of the port numbers,supposing that the port number capable of being used does not exist,this processing will fail, otherwise, the procedure proceeds to stepS1214.

The content serer SV reads the port number indicated by the readingcounter from the searching port number table (S1214).

Subsequently, the content server SV determines whether or not the readport number is capable of being used on (S1215). If the read port numberhas been already used by the other application program, the port numberis disabled, otherwise, it is enabled.

In the case that the port number is disabled, the content server SVincreases a value of the reading counter by one (S1216) and theprocedure returns to step S1213. On the other hand, in the case that theport number is enabled, the content server SV starts waiting by usingthe read port number (S1217). Thus, this processing will be finished.

For example, when the first port number “45080” among the three portnumbers shown in Table 4 has been already used by the other applicationprogram, the content server SV determines the first read port number“45080” as disabled and the next read port number “46000” as enabledand, then, the content server SV starts waiting by using the port number“46000”.

With reference to FIG. 6 again, the audio client CL sequentially readsthe port numbers for searching from the searching port number tableshown in Table 4 (S221), broadcasts the magic word on the read portnumber for searching (S202), and waits for the response from the contentserver SV on the port number for searching (S203).

Hereinafter, the detail of this processing (S221, S202, S203) will bedescribed with reference to the flowchart shown in FIG. 8.

The audio client CL reads the number of the port numbers from thesearching port number table (S2211). According to the example shown inTable 4, the audio client CL reads the number “3” of the port number.

Subsequently, the audio client CL resets the value of the readingcounter to “0” (S2212).

Next, the audio client CL compares the value of the reading counter withthe number of the above read port numbers (S2213). If the value of thereading counter is equal to the number of the read port numbers, theprocedure is failed because of no port number on which the audio clientCL receives a response from the content server SV, otherwise, theprocedure proceeds to next step S2214.

The audio client CL reads the port number indicated by the readingcounter from the searching port number table (S2214).

Subsequently, the audio client CL creates a searching packet includingthe magic word, and broadcasts the searching packet by using the readport number for searching (S202).

Next, the audio client CL starts waiting on the port number forsearching (S2031).

Subsequently, the audio client CL determines whether or not apredetermined time has been elapsed from the starting of waiting(S2032). In the case that the predetermined time has been elapsedwithout the response from the content server SV, the audio client CLincreases the reading counter by one in order to change the port numberfor searching (S2215), and the procedure returns to step S2213. On theother hand, receiving the searching response packet from the contentserver SV within the predetermined time (S2033), the audio client CLdetermines whether or not the magic word included in the searchingresponse packet is correct (S2034). When the magic word is correct, thisprocessing is finished.

For example, as described above, when the content server SV is waitingfor the searching from the audio client CL on the port number “46000”,even when the magic word is broadcasted on the port number “45080” thathas been read first by the audio client CL, there is no response fromthe content server SV; however, when the magic word is broadcasted onthe port number “46000” that has been read next by the audio client CL,there is a response from the content server SV.

With reference to FIG. 6 again, the content server SV receives thesearching packet from the audio client CL, verifies the magic wordincluded in the received searching packet, and then, when the magic wordis correct, the content server SV sends back the searching responsepacket including a port number for connection to the audio client CL(S112). The audio client CL reads the port number for connection fromthe received searching response packet (S222).

Hereinafter, similarly to the first embodiment, the content server SVand the audio client CL establish the connection on each port number forconnection (S208, S103).

As described above, according to the third embodiment, the contentserver SV selects the available port number among the predeterminedplural port numbers and waits for the searching from the audio client CLon the selected port number and, at the same time, the audio client CLsearches for the content server SV by changing the predetermined pluralport numbers by rotation, so that, even if some of the predeterminedplural port numbers has been already used by the other applicationprograms, the audio client CL is capable of searching for the contentserver SV.

FOURTH EMBODIMENT

According to a fourth embodiment, as shown in FIG. 9, a guidance masterapplication program (hereinafter, simply referred to as “guidance masterapplication”) 41 is installed in the content server SV in addition to aserver application program (hereinafter, simply referred to as “serverapplication”) 40. The server application 40 is a computer program forproviding a basic service such as distribution of the contents inresponse to the request from the audio client CL. The guidance masterapplication 41 is a computer program for managing the port number to beused for the communication on the present network.

The content server SV includes a nonvolatile memory 42 such as an HDD.In the nonvolatile memory 42, a port number and its update date and hourare recorded. The guidance master application 41 sets the port number tobe used for the communication on the present network in the nonvolatilememory 42, and further sets in the nonvolatile memory 42 the date andhour when the port number is set. The server application 40 communicatesby using the port number set in the nonvolatile memory 42. The serverapplication 40 and the guidance master application 41 share the samenetwork interface 43.

On the other hand, as shown in FIG. 10, in the audio client CL, aguidance server application program (hereinafter, simply referred to as“guidance server application”) 45, in addition to a client applicationprogram (hereinafter, simply referred to as “client application”) 44,may be installed. The client application 44 is a computer program forproviding a basic service such as requesting the contents for thecontent server SV and reproduction of the contents that are distributedin response to the request. The guidance server application 45 is also acomputer program for managing the port number to be used for thecommunication on the present network.

The audio client CL includes nonvolatile memories 46 and 47 such asflush memories or the like and a RAM 49. In each of the nonvolatilememories 46 and 47, the port number and its update date and time arerecorded. The guidance server application 45 sets the port number andits update date and time that are transmitted from the guidance masterapplication 41 in the nonvolatile memory 47. The client application 44sets the port number and its update date and time that are transmittedfrom the guidance server application 45 in the nonvolatile memory 46,and communicates by using the set port number. The client application 44and the guidance server application 45 share the same network interface48.

There is only one guidance master application 41 on the present network.At least one guidance server application 45 is enough; however, two ormore guidance server applications 45 can exist. According to the presentembodiment, as shown in FIGS. 11 and 12, the guidance master application41 is installed in only one content server SV. On the other hand, theguidance server application 45 is installed in the audio clients CL1 andCL2; however, it is not installed in an audio client CL3.

The guidance master application 41 inquires the guidance serverapplication 45 about the port number, and then, when the update date andtime that are set in the nonvolatile memory 47 of where to inquire isolder than the update date and time set in the nonvolatile memory 42 ofitself, as shown in FIG. 11, the port number set in the nonvolatilememory 47 of where to inquire is rewritten by the port number set in thenonvolatile memory 42 of itself. In other words, in the nonvolatilememory 42 for the guidance master application 41, the original portnumber and the original update date and time are saved, on the contrary,in the nonvolatile memory 47 for the guidance server application 45,their copies are saved. Thus, the guidance master application 41 isinstalled in the content server SV; however, it operates with respect tothe guidance master application 45 like a client. After all, due to thisoperation, the newest port number is uploaded from the guidance masterapplication 41 into the guidance server application 45.

In addition, the client application 44 inquires the guidance serverapplication 45 about the port number, and then, when the update date andtime that are set in the nonvolatile memory 47 of where to inquire isnewer than the update date and time set in the nonvolatile memory 46 ofitself, as shown in FIG. 12, the port number set in the nonvolatilememory 46 of itself is rewritten by the port number set in thenonvolatile memory 47 of where to inquire. In other words, in thenonvolatile memory 47 for the guidance server application 45, the copiesof the port number and its update date and time are saved, on thecontrary, in the nonvolatile memory 46 for the client application 44,their further copies are saved. Thus, the guidance server application 45is installed in the audio clients CL1 and CL2; however, it operates withrespect to the guidance master application 41 like a server. After all,due to this operation, the newest port number is downloaded from theguidance server application 45 into the client application 44.

Next, with reference to the flowchart shown in FIG. 13, the operation ofthis network audio system will be described below.

Hereinafter, a port for setting a port number is referred to as “settingport”. In addition, a port for searching the guidance server application45 is referred to as “guidance server searching port”.

According to the present embodiment, it is assumed that the port number“70192” and its update date and time “13:20, Apr. 10, 2003” are recordedin the nonvolatile memory 42 for the guidance master application 41, theport number “70099” and its update date and time “11:40, Mar. 31, 2003”are recorded in the nonvolatile memory 47 for the guidance serverapplication 45, and the port number “70092” and its update date and time“08:20, Mar. 10, 2003” are recorded in the nonvolatile memory 46 for theclient application 44.

(1) Uploading from the guidance master application 41 into the guidanceserver application 45 (FIG. 11)

The guidance server application 45 waits for a connection packet fromthe guidance master application 41 on the setting port (S231).Specifically, the predetermined “70000” is used as the port number ofthe setting port, and TCP is used as a communication protocol.

The guidance server application 45 also waits for a searching packetfrom the guidance master application 41 on the guidance server searchingport (S232). Specifically, the predetermined “70000” is also used as theport number of the guidance server searching port, and UDP is used as acommunication protocol.

Subsequently, the guidance master application 41 searches for theguidance server application 45 existing on the network (S131 to S133,S233, S234). More specific description is as follows.

The guidance master application 41 creates a searching packet inaccordance with the UDP and broadcasts (simultaneous transmissivecommunication) it on the network (S131). The searching packet includes apredetermined magic word, a port number “70000” of where to transmit, anIP address of the content server SV (a transmission source), and a portnumber (for example, “1025”) that has never been used in the contentserver SV. The guidance master application 41 waits for a responsepacket from the guidance server application 45 after broadcasting thesearching packet (S132).

Receiving the searching packet from the guidance master application 41,the guidance server application 45 creates a response packet and sendsback it to the guidance master application 41 that transmitted thesearching packet (S234). The response packet includes an IP address ofwhere to send back (the content server SV), a port number “1025” ofwhere to send back, and the port number read from the nonvolatile memory47, and the update date and time of the port number.

Receiving the response packet from the guidance server application 45(S133), the guidance master application 41 compares the update date andtime of the port number included in the response packet with the updatedate and time of the port number that has been read from the nonvolatilememory 42 (S134). When the update date and time of the port numberincluded in the response packet is older than the update date and timeof the port number that has been read from the nonvolatile memory 42,the procedure proceeds to step S136 and, when the update date and timeof the port number included in the response packet is newer than theupdate date and time of the port number that has been read from thenonvolatile memory 42, the procedure proceeds to step S139 (S135).

According to the present embodiment, the update date and time “13:20,Apr. 10, 2003” is recorded in the nonvolatile memory 42 for the guidancemaster application 41, and the update date and time “11:40, Mar. 31,2003” is recorded in the nonvolatile memory 47 for the guidance serverapplication 45, so that the guidance master application 41 determinesthat the port number in the guidance server application 45 is older thanthat of the guidance master application 41 and the procedure proceeds tostep S136 to start the update of the port number.

In order to update the port number, at first, the guidance masterapplication 41 transmits the connection packet to the guidance serverapplication 45 by using the setting port (S136). The connection packetincludes an IP address of where to transmit (the audio client CL) and aport number “70000” of where to transmit.

In the case that the connection has not been established yet on thesetting port (S235), receiving the connection packet from the guidancemaster application 41 (S236), the guidance server application 45performs the connection processing with respect to the guidance masterapplication 41 (S237). After establishing the connection by the settingport, the guidance server application 45 waits for the setting packetfrom the guidance master application 41 (S238).

The guidance master application 41 creates a setting packet andtransmits it to the guidance server application 45 (S137). The settingpacket includes an IP address of where to transmit (the audio clientCL), a port number “70000” of where to transmit, a port number that hasbeen read from the nonvolatile memory 42, and the update date and timeof the port number.

When receiving the setting packet from the guidance master application41 (S239), the guidance server application 45 rewrites the nonvolatilememory 47 with the port number and the update date and time included inthe setting packet (S240). Hereby, the port number of the guidanceserver application 45 is updated.

Next, the guidance master application 41 transmits a disconnectionpacket to the guidance server application 45 (S138). When receiving thedisconnection packet from the guidance master application 41 (S241), theguidance server application 45 executes the process of disconnectionfrom the guidance master application 41 (S242).

When a predetermined period of time (for example, 10 seconds) or morehas elapsed after the guidance master application 41 transmitted thesearching packet, the procedure returns to step S131 to broadcast thesearching packet again. In other words, the guidance master application41 inquires the guidance server application 45 about the port number andits update date and time for each predetermined period of time.

The guidance master application 41 performs the above-describedoperation also upon starting up of the content server SV and updating ofthe setting to upload a new port number and its update date and time inthe guidance server application 45.

In the case that a plurality of guidance server applications 45 arerunning on the network, the guidance master application 41 receives aplurality of response packets. In this case, the new port numbers aretransmitted to all of the guidance server applications 45 managing theold port numbers from the guidance master application 41 so as torewrite the old port numbers.

(2) Downloading from the guidance server applications 45 into the clientapplication 44 (FIG. 12)

Steps S252 to S256 executed by the client application 44 areapproximately same as steps S131 to S135 executed by the guidance masterapplication 41. The response operation of the guidance serverapplication 45 with respect to the client application 44 (S233, S234)are exactly same as the response operation of the guidance serverapplication 45 with respect to the guidance master application 41 (S233,S234). Steps S235 to S242 executed by the guidance server application 45do not operate with respect to the client application 44.

At first, the client application 44 reads the port number and its updatedate and time from the nonvolatile memory 46 to store it in a RAM 49(S251).

The client application 44 broadcasts the searching packet on theguidance server searching port (S252) to wait for the response packet(S253).

When receiving the searching packet from the client application 44(S233), the guidance server application 45 sends back the responsepacket to the client application 44 that has transmitted the searchingpacket (S234).

When receiving the response packet from the guidance server application45 (S254), the client application 44 compares the update date and timeof the port number included in the response packet to that of the portnumber that is read from the RAM 49 (S255). When the update date andtime of the port number included in the response packet is newer thanthat of the port number that is read from the RAM 49, the procedureproceeds to step S257, and when the update date and time of the portnumber included in the response packet is older than that of the portnumber that is read from the RAM 49, the procedure proceeds to step S258(S256).

According to the present embodiment, since the update date and time“08:20, Mar. 10, 2003” is recorded in the nonvolatile memory 46 for theclient application 44, and the update date and time “11:40, Mar. 31,2003” is recorded in the nonvolatile memory 47 for the guidance serverapplication 45, the client application 44 determines that the portnumber of the guidance server application 45 is newer than that of theclient application 44, and the procedure proceeds to step S257 to startthe update of the port number.

In order to update the port number, at first, the client application 44stores the port number and its update date and time included in theresponse packet in the RAM 49 (S257).

When two or more seconds have elapsed from the transmission of thesearching packet (S258), the client application 44 rewrites thenonvolatile memory 46 with the port number and its update date and timeincluded in the RAM 49 (S259). When two or more seconds have not elapsedyet from the transmission of the searching packet, the procedure returnsto step S253, and the client application 44 waits for the responsepacket (S253).

The client application 44 performs the above-described operation uponstarting up of the audio client CL and for each predetermined period oftime (for example, 30 seconds) to download a new port number and itsupdate date and time from the guidance server application 45.

When a plurality of guidance server applications 45 are running on thenetwork, the client application 44 receives a plurality of responsepackets. When the update date and time of the port number in eachresponse packet are newer than that of the port number in the RAM 49,the new port number and its update date and time included in theresponse packet are stored in the RAM 49. Accordingly, the newest portnumber and its update date and time among a plurality of guidance serverapplications 45 are finally stored in the RAM 49 and then, they arestored in the nonvolatile memory 46.

As described above, according to the fourth embodiment, since theguidance master application 41 uploads the port number into the guidanceserver application 45 and the uploaded port number is downloaded by theclient application 44, only by setting the port number in the contentserver SV, the port number may be automatically set also in all audioclients CL. As a result, it is possible to decrease trouble of settingthe port number.

In addition, since there is only one guidance master application 41 onthe network, the same port number is set in all audio clients CL.Further, only by changing the port number of the guidance masterapplication 41, the port numbers of the all audio clients CL areautomatically changed. In addition, since the guidance masterapplication 41 periodically uploads the port number in the guidanceserver application 45 and the client application 44 periodicallydownloads the uploaded port number, the newest port number is set in theall audio clients CL.

In addition, since the client application 44 searches for the guidanceserver application 45 upon starting up of the audio client CL todownload the new port number, even when the audio client CL with the oldport number still set is connected to the network, a new port number isset immediately.

Further, the guidance server application 45 is installed in the audioclient CL, and by using the predetermined port number “70000”, theguidance server application 45 waits for the connection packet and thesearching packet. On the other hand, the guidance master application 41is installed in the content server SV to transmit the connection packetand the searching packet on the unused port number. Since the audioclient CL is a machine only for playing music, the other applicationprograms are not installed therein. Therefore, competition of the portnumber such that the other application programs use the port number“70000” before the guidance server application 45 uses it or the otherapplication programs use the port number “70000” while the guidanceserver application 45 uses it does not occur in the audio client CL. Onthe other hand, since the content server SV is a multi-purpose machine,the other application programs sometimes are installed. However, theguidance master application 41 never waits for the packet by using apredetermined port number. Therefore, also in the content server SV, thecompetition of the port number does not occur.

In addition, since the guidance server application 45 is installed in aplurality of audio clients CL, respectively, when at least one audioclient CL among them is running, the port numbers are set in the allaudio clients CL. Further, since the guidance master application 41 isinstalled in the content server SV that is always running, a new portnumber is constantly uploaded in the guidance server application 45.

Modification of Fourth Embodiment

According to the fourth embodiment, the guidance master application 41is installed in the content server SV; however, as shown in FIG. 14, itmay be installed in any one of the audio clients (according to theexample shown in FIG. 14, CL3). In this case, an nonvolatile memory 50is provided to save the port number and its update date and time for theguidance master application 41. In addition, a client application 51only having the function of steps S251 to S259 is installed in thecontent server SV. The client application 51 downloads the port numberand its update date and time from the guidance server application 45 torewrite the nonvolatile memory 42. The server application 40 uses theport number that is downloaded into the nonvolatile memory 42.

In addition, when a plurality of content servers SV exists on thenetwork, installing the guidance master application 41 in one contentserver SV, the client application 51 only having the function of stepsS251 to S259 may be installed in the other content server SV, orinstalling the guidance master application 41 in one audio client CL,the client application 51 only having the function of steps S251 to S259may be installed in the all content servers SV.

As described above, the guidance master application 41 is installedtogether with the server application 40 or the client application 44;however, a machine in which only the guidance master application 41 isinstalled may be located on the network.

In addition, in order to avoid the competition of the port number, asdescribed above, it is preferable to install the guidance serverapplication 45 in the audio client CL as an embedded machine; however,the guidance server application 45 may be installed in the contentserver SV Thus, the guidance master application 41 and the guidanceserver application 45 may be installed in any machine on the network, sothat a flexible network construction is possible.

Further, in the case of using a general purpose PC for the contentserver SV, in addition to the server application 40 and the guidancemaster application 41, an application program for changing the settingof the port number (hereinafter, referred to as “application forchanging the setting”) may be installed. The application for changingthe setting may change the port number by using GUI (Graphical UserInterface) or may download the port number by accessing an outer servervia Internet. Upon changing the port number, its date and time are alsoset. Alternatively, the server application 40 or the guidance serverapplication 45 may be provided with a function for the application forchanging the setting.

In addition, in place of the port number or together with the portnumber, the information regarding the basic service (the distribution ofthe music and the reproduction thereof) to be provided by the presentnetwork audio system may be set. The setting information includes asetting matter regarding the network protocol (for example, the magicword included in the searching packet) and a computer program itselfsuch as a firmware operating on the audio client CL and JAVA (TM) or thelike. It is noted that, since transmission of a large amount of settinginformation by UDP as a program as a limit, in this case, the settinginformation itself is not included in the response packet from theguidance server application 45 but a setting item name and an updatedate and time are included therein. The client application 44 that hasreceived the response packet establishes the connection with respect tothe guidance server application 45 by TCP only in the case of determinesthat the update is needed, and then, the client application 44 obtainsthe all of the necessary setting information to update the settinginformation of itself. Hereinafter, an example of the response packetwill be cited in the case of as the setting information, managing thefirmware and managing the port number below.

In the case of managing the firmware, the response packet by the UDPincludes, for example, a class of the firmware and its update date andtime as below but it does not include the firmware itself. The firmwareis transmitted by the TCP.CLIENT_TYPE1_FIRMWEAR: 2002.12.22.15.30CLIENT_TYPE2_FIRMWEAR: 2002.12.20.10.10

In the case of managing the port number, the response packet, forexample, includes a class of the port number and its update date andtime as below but it does not include the port number. The port numberis transmitted by the TCP.SERVICE_TYPE1_PORTNO: 2002.08.01.20.11SERVICE_TYPE2_PORTNO: 2002.08.01.20.11

Other Embodiments

According to the first to fourth embodiments, the content server SVstores the musical contents; however, in place of the musical contentsor together with the musical contents, image contents may be storedtherein. Therefore, the present invention can be applied not only to anetwork AV system for distributing the image contents and reproducingthem but also to a general server client system.

The embodiments of the present invention are described as above;however, the embodiments are only examples for carrying out the presentinvention. Therefore, the present invention is not limited to theembodiments and the present invention can be executed by appropriatelychanging the embodiments within a scope not departing from its spirit.

1. A server client system comprising: a communication network, a serverconnected to said communication network, and a client connected to saidcommunication network, said server including a packet respondertransmitting a response packet to said client on a first port being setto a first port number, the response packet including a second portnumber and identification information having a first value or a secondvalue, and said client including, a receiver receiving the responsepacket from said server and reading the identification information fromthe received response packet, a determiner determining whether theidentification information read by said receiver has the first value orthe second value, and an automatic port setter setting a second port tothe second port number when the identification information has the firstvalue and setting the second port to a predetermined third port numberwhen the identification information has the second value based on aresult of determination by said determiner.
 2. The server client systemaccording to claim 1, wherein said client further includes a connectionrequester transmits a request for connection to said server on thesecond port set by said automatic port setter, and said server furtherincludes a connection responder responds the request for connection fromsaid client to establish a connection between said server and saidclient of the second port.
 3. The server client system according toclaim 1, wherein said server further includes a first manual port settersetting the first port to the first port number and writing the secondport number in the response packet in response to a user operation, andsaid client further includes a second manual port setter setting thefirst port to the first port number in response to a user operation. 4.The server client system according to claim 1, wherein said clientfurther includes a searcher broadcasting a searching packet to saidcommunication network on the first port, and said packet respondertransmits the response packet in response to the searching packetbroadcasted by said searcher.
 5. The server client system according toclaim 4, wherein the searching packet includes a magic word which hasbeen set in said client, and said packet responder transmits theresponse packet when the magic word included in the searching packetcorresponds to a magic word which has been set in said server.
 6. Aserver client system comprising: a communication network, a serverconnected to said communication network, and a client connected to saidcommunication network, said client including, a port number storagestoring a searching port number, a reader reading the searching portnumber from said port number storage, and a searcher setting a searchingport to the searching port number read by said reader and broadcasting asearching packet to said communication network on the set searchingport, said server including, a waiter waiting for the searching packetfrom said client on the searching port set to a newest searching portnumber being used at the present and one or more old searching portnumbers used in the past, and a packet responder transmitting a responsepacket to said client on the searching port in response to the searchingpacket broadcasted by said searcher, the response packet including thenewest searching port number, and said client further including, areceiver receiving the response packet from said server and reading thenewest searching port number from the received response packet, and arewriter rewriting the searching port number stored in said port numberstorage into the newest searching port number read by said receiver. 7.The server client system according to claim 6, wherein the responsepacket further includes a connecting port number, said receiver furtherreads the connecting port number, said client further includes aconnection requester transmits a request for connection to said serveron a connecting port set to the connecting port number read by saidreceiver, and said server further includes a connection responderresponds the request for connection from said client to establish aconnection between said server and said client on the connecting port.8. The server client system according to claim 6, wherein the searchingpacket includes a magic word which has been set in said client, and saidpacket responder transmits the response packet when the magic wordincluded in the searching packet corresponds to a magic word which hasbeen set in said server.
 9. A server client system comprising: acommunication network, a server connected to said communication network,and a client connected to said communication network, said serverincluding, a selector selecting a searching port number available amonga plurality of searching port numbers, and a waiter setting a searchingport to the searching port number selected by said selector and waitingfor a searching packet from said client on the set searching port, saidclient including, a selector selecting a searching port number to beused among said plurality of searching port numbers, and a searchersetting the searching port to the searching port number selected by saidselector and broadcasting the searching packet to said communicationnetwork on the set searching port, said server further including apacket responder transmitting a response packet to said client on thesearch port in response to the searching packet broadcasted by saidsearcher; and said client further including a changer changing thesearching port number to be selected by said selector when receiving noresponse packet from said server.
 10. The server client system accordingto claim 9, wherein the response packet includes a connecting portnumber, and said client further includes, a receiver receiving theresponse packet from said server and reading the connecting port numberfrom the received response packet, and a connection requester transmitsa request for connection to said server on a connecting port set to theconnecting port number read by said receiver, and said server furtherincludes a connection responder responds the request for connection fromsaid client to establish a connection between said server and saidclient on the connecting port.
 11. The server client system according toclaim 9, wherein the searching packet includes a magic word which hasbeen set in said client, and said packet responder transmits theresponse packet when the magic word included in the searching packetcorresponds to a magic word which has been set in said server.
 12. Aclient connected to a server through a communication network, saidclient comprising: a receiver receiving a response packet transmittedfrom said server on a first port being set to a first port number, theresponse packet including a second port number and identificationinformation having a first value or a second value and reading theidentification information from the received response packet, adeterminer determining whether the identification information read bysaid receiver has the first value or the second value, and an automaticport setter setting a second port to the second port number when theidentification information has the first value and setting the secondport to a predetermined third port number when the identificationinformation has the second value based on a result of determination bysaid determiner.